package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.dao.SysRoleDept;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;

/**
 * 角色与部门关联表 数据层
 * 
 * @author ruoyi
 */
public interface SysRoleDeptMapper
{
    /**
     * 通过角色ID删除角色和部门关联
     * 
     * @param roleId 角色ID
     * @return 结果
     */
    @Select("delete from sys_role_dept where role_id=#{roleId}")
    public int deleteRoleDeptByRoleId(@Param("roleId") String roleId);

    /**
     * 批量删除角色部门关联信息
     * 
     * @param roleIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteRoleDept(@Param("array") Collection<? extends Serializable> roleIds);

    /**
     * 查询部门使用数量
     * 
     * @param deptId 部门ID
     * @return 结果
     */
    @Select("select count(1) from sys_role_dept where dept_id=#{deptId}")
    public int selectCountRoleDeptByDeptId(@Param("deptId") String deptId);

    /**
     * 批量新增角色部门信息
     * 
     * @param roleDeptList 角色部门列表
     * @return 结果
     */
    public int batchRoleDept(List<SysRoleDept> roleDeptList);
}
